package com.ny.dto;

import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.PositiveOrZero;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import javax.validation.constraints.NotBlank;
import io.swagger.annotations.ApiModelProperty;

/**
 * 会员等级信息
 *
 * @author MSI-NB
 * @date 2025-03-08 13:14:38
 */
@Data
public class MemberLevelDTO {

    /**
     * 会员等级ID:会员等级ID
     */
    @NotNull(groups = { UpdateGroup.class, DeleteGroup.class }, message = "会员等级ID不能为空")
    @ApiModelProperty(value = "会员等级ID:会员等级ID")
    private Integer levelId;

    /**
     * 会员等级名称:会员等级名称
     */
    @NotBlank(groups = { CreateGroup.class, UpdateGroup.class }, message = "会员等级名称不能为空")
    @Size(max = 50, message = "会员等级名称长度不能超过50")
    @ApiModelProperty(value = "会员等级名称:会员等级名称")
    private String levelName;

    /**
     * 折扣率:折扣率
     */
    @PositiveOrZero(groups = { CreateGroup.class, UpdateGroup.class }, message = "折扣率不能为负数")
    @ApiModelProperty(value = "折扣率:折扣率")
    private BigDecimal discountRate;

    /**
     * 等级描述:等级描述
     */
    @Size(max = 255, message = "等级描述长度不能超过255")
    @ApiModelProperty(value = "等级描述:等级描述")
    private String description;
}
